home *** CD-ROM | disk | FTP | other *** search
/ Risc World 3 / Risc World 3.iso / SOFTWARE / ISSUE6 / GAMES / SANTA / !Santa / !RunImage (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  2000-04-17  |  18KB  |  885 lines

  1.  >>> 
  2. Andy Spence 2000
  3.  >>> This is a pre-release demo version.
  4.  >>> Feel to distribute this, but all of the graphics and code is 
  5. Andy Spence 2000, so don't be nicking them.
  6.  "ERROR ";
  7. $," at line ";
  8. -area%=
  9. load_sprites("<obey$dir>.Sprites")
  10. bx%=128
  11. by%=96
  12. mapx%=10
  13. mapy%=10
  14. maxbaddies%=8
  15. maxbonuses%=100
  16. maxfg%=15
  17. badex%=114
  18. badey%=52
  19. colc%=1
  20. scrno%=1
  21. screen%=1
  22. bally%=(by%*5)+18
  23. blocks%=14
  24. tree%=1
  25. tree2%=1
  26. mblocks%=0
  27. block%=0
  28. switches%=0
  29. screen1
  30.  map%(mapx%,mapy%)
  31.  s$(blocks%)
  32.  bon%(3,maxbonuses%)
  33.  forg%(3,maxfg%)
  34.  bad%(9,maxbaddies%)
  35.  movblo%(8,4)
  36.  switch%(5,3)
  37. s$(0)="0"
  38. s$(1)="1"
  39. s$(2)="2"
  40. s$(3)="3"
  41. s$(4)="4"
  42. s$(5)="5"
  43. s$(6)="6"
  44. s$(7)="7"
  45. s$(8)="8"
  46. s$(9)="9"
  47. s$(10)="10"
  48. s$(11)="11"
  49. s$(12)="12"
  50. s$(13)="13"
  51. s$(14)="door"
  52. cgems%=0
  53. crings%=0
  54. cpresents%=0
  55. cpuddings%=0
  56. lives%=3
  57. livfr%=1
  58. progress%=1
  59. complete%=0
  60. move%=0
  61. move2%=1
  62. speed%=12
  63. fspeed%=12
  64. dir%=1
  65. fall%=0
  66. jump%=0
  67. jumpc%=0
  68. bframe%=1
  69. frame%=1
  70. bdframe%=1
  71. die%=0
  72.  complete%=0 
  73. drawblob
  74.  complete%=1 
  75. setup:
  76. die%=0
  77. complete%=0
  78. drawscreen
  79. drawblob
  80. lives
  81. move%=0
  82. -122 
  83. right
  84.  fall%=0 
  85.  jump%=1:
  86.  jump%=1 
  87.  jump%=0 
  88. checkff
  89.  fall%=1 
  90. collect
  91. baddie
  92. background
  93.  move%>0 
  94.  move2%=1
  95.  balls>0 
  96. mball
  97.  move%=1 
  98. drawblob
  99. bonus
  100.  move%=0 
  101.  move2%=1 
  102. stand:move2%=0
  103.  balls>0 
  104. balls
  105. foreground
  106. switches
  107. complete
  108. wait(delay)
  109. -113 
  110.  die%=1:progress%=5
  111.  die%=1 
  112.  complete%=1
  113.  complete%=1 
  114.  progress%+=1
  115.  progress%=5 
  116.  lives%<=0
  117. gameover
  118. wait(200)
  119. sprite("santacool",306,446)
  120. menu%=1
  121.  menu%=1 
  122. sprite("starts",286,384):
  123. sprite("options",432,248):
  124. sprite("quit",742,172)
  125.  menu%=2 
  126. sprite("start",286,384):
  127. sprite("optionss",432,248):
  128. sprite("quit",742,172)
  129.  menu%=3 
  130. sprite("start",286,384):
  131. sprite("options",432,248):
  132. sprite("quits",742,172)
  133. -122 
  134.  menu%+=1
  135.  menu%-=1
  136.  menu%=0 
  137.  menu%=1
  138.  menu%=4 
  139.  menu%=3
  140. wait(7)
  141.  menu%=1 
  142.  menu%=2 
  143. options
  144.  menu%=3 
  145.  *desktop
  146. progress%=1
  147. setup
  148. options
  149. gameover
  150. sprite("gameover",430,395)
  151. selscr
  152.  progress%=1 
  153. screen1
  154.  progress%=2 
  155. screen2
  156.  progress%=3 
  157. screen3
  158.  progress%=4 
  159. screen4
  160. setup
  161. plot%=0
  162.  bmy%=1 
  163.  maxbonuses%
  164.  bon%(1,bmy%)=0
  165.  fmy%=1 
  166.  maxfg%
  167.  forg%(1,fmy%)=0
  168.  bady%=1 
  169.  maxbaddies%
  170.  bad%(1,bady%)=0
  171. selscr
  172.  my%=1 
  173.  mapy%
  174.  mx%=1 
  175.  mapx%
  176.  map%(mx%,my%)
  177.  bmy%=1 
  178.  levbon%
  179.  bmx%=1 
  180.  bon%(bmx%,bmy%)
  181.  fmy%=1 
  182.  fmx%=1 
  183.  forg%(fmx%,fmy%)
  184.  bady%=1 
  185.  baddies%
  186.  badx%=1 
  187.  bad%(badx%,bady%)
  188.  bloy%=1 
  189.  mblocks%
  190.  blox%=1 
  191.  block%=1 
  192.  movblo%(blox%,bloy%)
  193.  switches%>0 
  194.  swiy%=1 
  195.  switches%
  196.  swix%=1 
  197.  switch%(swix%,swiy%)
  198. lives
  199.  livfr% 
  200.  1:heart%=1
  201.  11:heart%=2
  202.  12:heart%=2
  203.  13:heart%=3
  204.  14:heart%=3
  205.  lives%>=1 
  206. sprite("4",0,0):
  207. sprite("he"+
  208. (heart%),20,10)
  209.  lives%>=2 
  210. sprite("4",128,0):
  211. sprite("he"+
  212. (heart%),120,10)
  213.  lives%=3 
  214. sprite("4",256,0):
  215. sprite("he"+
  216. (heart%),220,10)
  217. livfr%+=1
  218.  livfr%=14 
  219.  livfr%=1
  220. destroybonuses
  221.  bmy%=1 
  222.  levbon%
  223.  bon%(1,bmy%) 
  224.  1:mask2$="presentsm"
  225.  2:mask2$="ringm"
  226.  3:mask2$="gemm"
  227.  4:mask2$="puddingm"
  228. sprite(mask2$,bon%(2,bmy%),bon%(3,bmy%))
  229.   bon%(1,bmy%)=0
  230. bonuses%=0
  231. manx%=comx%-10
  232. many%=comy%+96
  233. drawblob
  234. stand
  235. frame%=0
  236. drawblob
  237. move%=1
  238. dir%=0
  239.  jump%=0 
  240.  fall%=0 
  241.  frame%+=1
  242.  frame%>8 
  243.  frame%=1
  244.  manx%<=0 
  245.  manx%=0: 
  246.  manx%>=bx% 
  247.  map%(((manx%-bx%) 
  248.  bx%)+1,10-(many% 
  249.  by%))>2 
  250.  manx%<=((manx% 
  251.  bx%)*bx%)+speed% 
  252.  manx%=(manx% 
  253.  bx%)*bx%:
  254.  many%<>(many% 
  255.  by%)*by% 
  256.  map%(((manx%-bx%) 
  257.  bx%)+1,10-((many%+by%) 
  258.  by%))>2 
  259.  manx%<=(manx% 
  260.  bx%)*bx%+speed% 
  261.  many%-((many% 
  262.  by%)*by%)>=38 
  263.  manx%=(manx% 
  264.  bx%)*bx%:
  265. manx%=manx%-speed%
  266. right
  267. move%=1
  268. dir%=1
  269.  jump%=0 
  270.  fall%=0 
  271.  frame%+=1
  272.  frame%>8 
  273.  frame%=1
  274.  manx%>=1204 
  275.  manx%=1204:
  276.  manx%<bx%*9 
  277.  map%(((manx%+bx%) 
  278.  bx%)+1,10-(many% 
  279.  by%))>2 
  280.  manx%>=((manx% 
  281.  bx%)*bx%)+60-speed% 
  282.  manx%=((manx% 
  283.  bx%)*bx%)+58:
  284.  many%<>(many% 
  285.  by%)*by% 
  286.  jump%=1 
  287. q    
  288.  map%(((manx%+bx%) 
  289.  bx%)+1,10-((many%+by%) 
  290.  by%))>2 
  291.  map%((manx% 
  292.  bx%)+1,10-((many%+by%) 
  293.  by%))<2 
  294. o     
  295.  many%-(many% 
  296.  by%)*by%>36 
  297.  manx%>=((manx% 
  298.  bx%)*bx%)+60-speed% 
  299.  manx%=((manx% 
  300.  bx%)*bx%)+60:
  301.         
  302.  fall%=1 
  303. @    
  304.  map%(((manx%+bx%) 
  305.  bx%)+1,10-((many%+by%) 
  306.  by%))>2 
  307. s     
  308.  many%-((many% 
  309.  by%)*by%)>=36 
  310.   manx%>=((manx% 
  311.  bx%)*bx%)+60-speed% 
  312.  manx%=((manx% 
  313.  bx%)*bx%)+60:
  314.         
  315. manx%=manx%+speed%
  316. drawblob
  317.  dir%=0 
  318.  jump%=1 
  319. sprite("cb9",manx%,many%):
  320.  fall%=1 
  321. sprite("cb10",manx%,many%):
  322. sprite("cb"+
  323. (frame%)),manx%,many%)
  324.  dir%=1 
  325.  jump%=1 
  326. sprite("c9",manx%,many%):
  327.  fall%=1 
  328. sprite("c10",manx%,many%):
  329. sprite("c"+
  330. (frame%)),manx%,many%)
  331.  dir%=0 
  332.  fall%=1 
  333. sprite("cb10m",manx%,many%):
  334. sprite("cb"+
  335. (frame%))+"m",manx%,many%)
  336.  jump%=1 
  337. sprite("cb9m",manx%,many%):
  338.  dir%=1 
  339.  fall%=1 
  340. sprite("c10m",manx%,many%):
  341. sprite("c"+
  342. (frame%))+"m",manx%,many%)
  343.  jump%=1 
  344. sprite("c9m",manx%,many%):
  345. move%=1
  346.  many%=by%*9 
  347.  jumpc%=0:jump%=0:fall%=1:
  348.  map%((
  349. (manx%/bx%))+1,10-
  350. ((many%+by%)/by%))>2 
  351.  many%-((
  352. (many%/by%))*by%)>=36 
  353.  jumpc%=0:jump%=0:fall%=1:
  354.  manx%<bx%*9 
  355.  map%((
  356. ((manx%+bx%)/bx%))+1,10-
  357. ((many%+by%)/by%))>2 
  358.  manx%>((
  359. (manx%/bx%))*bx%)+60 
  360.  many%-((
  361. (many%/by%))*by%)>=36 
  362.  jumpc%=0:jump%=0:fall%=1:
  363.  jumpc%>=(by%*2)+(fspeed%) 
  364.  jumpc%=0:jump%=0:fall%=1:
  365. jumpc%=jumpc%+fspeed%
  366. many%=many%+fspeed%
  367. move%=1
  368.  manx%<(bx%*9) 
  369.  map%((
  370. ((manx%+bx%)/bx%))+1,11-
  371. (many%/by%))>2 
  372.  manx%>(((
  373. (manx%/bx%))*bx%)+60) 
  374.  many%<=((
  375. (many%/by%))*by%)+fspeed% 
  376.  many%=(
  377. (many%/by%))*by%:fall%=0:
  378.  map%((
  379. (manx%/bx%))+1,11-
  380. (many%/by%))>2 
  381.  many%<=((
  382. (many%/by%))*by%)+fspeed% 
  383.  many%=(
  384. (many%/by%))*by%:fall%=0:
  385. many%=many%-fspeed%-2
  386. checkff
  387.  map%((
  388. (manx%/bx%))+1,11-
  389. (many%/by%))=0 
  390.  manx%<=(((
  391. (manx%/bx%))*bx%)+60) 
  392.  fall%=1
  393. drawscreen
  394. scrbs=scrno%*10
  395.  my%=1 
  396.  mapy%
  397.  mx%=1 
  398.  mapx%
  399. sprite(s$(map%(mx%,my%)),mx%*bx%-bx%,(mapy%-my%)*by%)
  400. wait(time)
  401. +(time)
  402. sprite(sprite$,ssx%,ssy%)
  403.  sprite$="0" 
  404.  "OS_SpriteOp",256+34,area%,sprite$,ssx%,ssy%,8
  405. mball
  406. sprite("ballm",ballx%,bally%)
  407. balls
  408. ballsp%=ballsp%+1
  409.  ballsp%>20 
  410.  ballsp%=-20
  411. bally%=bally%-ballsp%
  412. sprite("ball",ballx%,bally%)
  413. complete
  414.  bonuses%=0 
  415.  many%>=comy% 
  416.  many%<=(comy%+96) 
  417.  comd%=0 
  418.  manx%<=comx% 
  419.  complete%=1
  420.  comd%=1 
  421.  manx%>=comx% 
  422.  complete%=1
  423.  (manx%+58)>=ballx% 
  424.  manx%<=(ballx%+100) 
  425.  bally%<(many%+88) 
  426.  many%<=bally%+100 
  427.  die%=1:lives%-=1:
  428. mask:
  429. mball:
  430. reset:
  431.  many%>=bally% 
  432.  many%<=bally%+100 
  433.  die%=1:lives%-=1:
  434. mask:
  435. mball:
  436. reset:
  437.  forg%(1,6)=3 
  438.  (manx%+66)>forg%(2,6) 
  439.  manx%<(forg%(2,6)+110) 
  440.  many%<(forg%(3,6)+4) 
  441.  die%=1:lives%-=1:
  442. mball:
  443. mask:
  444. reset:
  445.  badkill%=1 
  446.  baddies%
  447.  bad%(1,badkill%)=1 
  448.  badex%=114:badey%=52
  449.  bad%(1,badkill%)=2 
  450.  badex%=54:badey%=82
  451.  manx%+68>bad%(6,badkill%) 
  452.  manx%<bad%(6,badkill%)+badex% 
  453.  many%<bad%(7,badkill%)+badey% 
  454.  (many%+88)>=bad%(7,badkill%) 
  455.  die%=1:lives%-=1:
  456. mball:
  457. mask:
  458. reset:
  459. reset
  460. manx%=omanx%
  461. many%=omany%
  462. baddie
  463. bdframe%+=1
  464.  bdframe%<>0 
  465.  bdframe%=5 
  466.  bdframe%=1
  467.  drawbad%=1 
  468.  baddies%
  469.  bad%(1,drawbad%)>0 
  470. sprite(
  471. (bad%(1,drawbad%))+"bm",bad%(6,drawbad%),bad%(7,drawbad%))
  472.  skip%=0
  473.  bad%(8,drawbad%)=0 
  474. (  bad%(6,drawbad%)-=bad%(9,drawbad%)
  475.  bad%(6,drawbad%)<bad%(2,drawbad%) 
  476.  bad%(6,drawbad%)=bad%(2,drawbad%):bad%(8,drawbad%)=1:skip%=1
  477.  bad%(8,drawbad%)=1 
  478.  skip%=0 
  479. (  bad%(6,drawbad%)+=bad%(9,drawbad%)
  480.  bad%(6,drawbad%)>bad%(4,drawbad%) 
  481.  bad%(6,drawbad%)=bad%(4,drawbad%):bad%(8,drawbad%)=0
  482. sprite(
  483. (bad%(8,drawbad%))+
  484. (bad%(1,drawbad%))+"b"+
  485. (bdframe%),bad%(6,drawbad%),bad%(7,drawbad%))
  486. collect
  487. bonh%=32
  488. bonw%=32
  489. manxca%=(
  490. (manx%/bx%))*bx%
  491. manyca%=(
  492. (many%/by%))*by%
  493. colle%=0
  494.  many%-manyca%<76 
  495.  loop%=1 
  496.  maxbonuses%
  497.  bon%(1,loop%) 
  498.  1:bonh%=82:bonw%=52
  499.  2:bonh%=52:bonw%=48
  500.  3:bonh%=38:bonw%=46
  501.  4:bonh%=72:bonw%=58
  502.  bon%(1,loop%)>0 
  503.  manyca%=(
  504. (bon%(3,loop%)/by%))*by% 
  505. L    
  506.  (manx%+64)>=bon%(2,loop%) 
  507.  manx%<(bon%(2,loop%)+bonw%) 
  508.  colle%=1
  509.  (many%+88)>=(
  510. (bon%(3,loop%)/by%))*by% 
  511.  many%<=bon%(3,loop%)+bonh% 
  512. L    
  513.  (manx%+64)>=bon%(2,loop%) 
  514.  manx%<(bon%(2,loop%)+bonw%) 
  515.  colle%=1
  516.  colle%=1 
  517.  colle%=0:
  518. coll2
  519. coll2
  520.  bon%(1,loop%) 
  521.  1:cpresents%+=1:mask$="presentsm"
  522.  2:crings%+=1:mask$="ringm"
  523.  3:cgems%+=1:mask$="gemm"
  524.  4:cpuddings%+=1:mask$="puddingm"
  525. bon%(1,loop%)=0
  526. sprite(mask$,bon%(2,loop%),bon%(3,loop%))
  527. bonuses%-=1
  528. bonus
  529. bframe$=
  530. (bframe%))
  531. gemspr$="d"+bframe$
  532. ringspr$="r"+bframe$
  533.  bloop%=1 
  534.  levbon%
  535.  bon%(1,bloop%) 
  536. sprite("presents",bon%(2,bloop%),bon%(3,bloop%))
  537. sprite(ringspr$,bon%(2,bloop%),bon%(3,bloop%))
  538. sprite(gemspr$,bon%(2,bloop%),bon%(3,bloop%))
  539. sprite("pudding",bon%(2,bloop%),bon%(3,bloop%))
  540. bframe%+=1
  541.  bframe%>6 
  542.  bframe%=1
  543.  plot%=0 
  544.  plot%=1
  545. switches
  546.  swloop%=1 
  547.  switches%
  548.  switch%(1,swloop%)=1 
  549.  manyca%=switch%(3,swloop%)+2 
  550.  (manx%+64)>=switch%(2,swloop%) 
  551.  manx%<(switch%(2,swloop%)+68) 
  552.  swloop%=1 
  553.  switches%
  554.  switch%(1,swloop%) 
  555. sprite("lever1",switch%(2,swloop%),switch%(3,swloop%))
  556. sprite("lever3",switch%(2,swloop%),switch%(3,swloop%))
  557. sprite("blockmask",switch%(4,swloop%)*bx%,switch%(5,swloop%)*by%)
  558. 8map%(switch%(4,swloop%)+1,(10-switch%(5,swloop%)))=0
  559. sprite("lever1m",switch%(2,swloop%),switch%(3,swloop%))
  560. drawblob
  561. switch%(1,swloop%)=2
  562. background
  563.  floop%=1 
  564.  forg%(1,floop%) 
  565. sprite("tree"+
  566. (tree2%),forg%(2,floop%),forg%(3,floop%))
  567. tree%+=1
  568.  tree%=22 
  569.  tree%=1
  570.  tree% 
  571.  1:tree2%=1
  572.  8:tree2%=2
  573.  15:tree2%=3
  574. foreground
  575.  floop%=1 
  576.  forg%(1,floop%) 
  577. sprite("fence",forg%(2,floop%),forg%(3,floop%))
  578. sprite("fence2",forg%(2,floop%),forg%(3,floop%))
  579. sprite("spikes",forg%(2,floop%),forg%(3,floop%))
  580. sprite("snowman",forg%(2,floop%),forg%(3,floop%))
  581. sprite("sign",forg%(2,floop%),forg%(3,floop%))
  582.  switch1%=1 
  583. sprite("lever1",forg%(2,floop%),forg%(3,floop%)):
  584.  switch1%=2 
  585. sprite("lever3",forg%(2,floop%),forg%(3,floop%))
  586.  switch2%=1 
  587. sprite("lever1",forg%(2,floop%),forg%(3,floop%)):
  588.  switch2%=2 
  589. sprite("lever3",forg%(2,floop%),forg%(3,floop%))
  590. blocks
  591. screen1
  592. comx%=1204
  593. comy%=192
  594. comd%=1
  595. manx%=0
  596. many%=by%*9
  597. omanx%=manx%
  598. omany%=many%
  599. baddies%=2
  600. delay=1.98
  601. balls=1
  602. ballx%=(bx%*3)+10
  603. bally%=(by%*5)+18
  604. ballh=by%*3
  605. ballsp%=0
  606. (    fg%=8
  607. levbon%=15
  608. bonuses%=15
  609. spike%=1
  610. mblocks%=0
  611. block%=0
  612. switches%=0
  613.  **Map**
  614.  0,0,0,0,10,0,0,0,0,0
  615.  7,0,12,3,7,0,0,0,0,6
  616.  0,0,10,0,0,0,0,0,0,0
  617.  0,6,4,3,4,3,7,0,6,3
  618.  0,0,10,0,10,0,0,0,0,0
  619.  7,0,11,0,6,3,7,0,11,0
  620.  0,0,0,0,0,0,0,0,0,0
  621.  3,3,3,3,7,0,0,0,0,12
  622.  0,0,0,0,0,0,0,0,0,12
  623.  4,4,4,4,4,4,4,5,4,9
  624.  **Bonuses**
  625.  3,30,134
  626.  3,120,134
  627.  3,210,134
  628.  3,300,134
  629.  2,404,696
  630.  2,494,696
  631.  2,574,696
  632.  2,654,696
  633.  2,734,696
  634.  2,654,768
  635.  2,734,768
  636.  2,660,504
  637.  2,740,504
  638.  2,820,504
  639.  2,1190,888
  640.  **Foreground**
  641.  1,0,862:REM    "1"=fence
  642.  1,276,862
  643.  2,378,862:REM  "2"=long fence
  644.  1,154,670
  645.  1,0,478
  646.  3,896,96:REM   "3"=spike
  647.  4,1049,670:REM "4"=snowman
  648.  5,1182,286:REM "5"=sign
  649.  **Baddies**
  650.  1,384,96,768,96,384,96,1,8
  651.  1,0,288,512,288,128,288,0,7
  652. screen2
  653. comx%=1204
  654. comy%=384
  655. comd%=1
  656. manx%=0
  657. many%=192
  658. omanx%=manx%
  659. omany%=many%
  660. baddies%=2
  661. delay=2
  662. balls=1
  663. ballx%=(bx%*2)+10
  664. bally%=(by%*9)+18
  665. ballh=(by%*3)
  666. ballsp%=0
  667. l    fg%=6
  668. levbon%=11
  669. bonuses%=11
  670. spike%=0
  671. mblocks%=0
  672. block%=0
  673. switches%=0
  674.  4,7,0,6,3,3,3,3,3,3
  675.  13,0,0,0,0,0,0,0,0,0
  676.  13,0,0,6,3,3,7,0,6,3
  677.  13,0,11,0,0,0,0,0,0,0
  678.  9,7,0,0,6,3,13,0,0,0
  679.  7,0,0,10,0,0,10,0,6,4
  680.  0,0,6,7,0,6,7,0,0,12
  681.  0,10,0,0,0,0,0,0,6,3
  682.  4,13,0,12,4,4,13,0,0,0
  683.  4,4,4,4,4,4,4,4,4,4
  684.  **Bonuses**
  685.  2,168,600
  686.  2,1192,120
  687.  2,680,408
  688.  2,285,120
  689.  2,294,696
  690.  2,166,696
  691.  2,166,792
  692.  2,1062,312
  693.  1,159,284
  694.  1,287,380
  695.  1,415,476
  696.  **Foreground**
  697.  1,400,476
  698.  4,665,766:REM "4"=snowman
  699.  5,1182,478:REM "5"=sign
  700.  1,10,190
  701.  1,144,284
  702.  1,272,380
  703.  **Baddies**
  704.  1,344,192,798,192,384,192,1,8
  705.  2,1024,768,1252,768,1024,768,1,6
  706. screen3
  707. comx%=1204
  708. comy%=192
  709. comd%=1
  710. manx%=0
  711. many%=192
  712. ballx%=(bx%*20)+10
  713. bally%=(by%*14)+18
  714. omanx%=manx%
  715. omany%=many%
  716. baddies%=2
  717. delay=2
  718. balls=0
  719.     fg%=2
  720. levbon%=66
  721. bonuses%=66
  722. spike%=0
  723. mblocks%=0
  724. block%=0
  725. switches%=0
  726.  13,0,0,0,0,0,0,0,0,12
  727.  13,0,0,0,0,0,0,0,0,12
  728.  13,0,0,0,11,0,0,0,0,12
  729.  13,0,0,0,0,0,0,0,0,12
  730.  13,0,0,0,11,0,0,0,0,12
  731.  13,0,0,0,0,0,11,0,0,6
  732.  7,0,0,0,0,0,0,0,0,0
  733.  0,0,0,0,0,0,0,0,6,9
  734.  13,0,0,0,0,0,0,0,0,12
  735.  4,4,4,4,4,4,4,4,4,4
  736.  **Bonuses**
  737.  3,158,192
  738.  3,248,192
  739.  3,338,192
  740.  3,428,192
  741.  3,510,192
  742.  3,600,192
  743.  3,690,192
  744.  3,780,192
  745.  3,870,192
  746.  3,960,192
  747.  3,158,288
  748.  3,248,288
  749.  3,338,288
  750.  3,428,288
  751.  3,510,288
  752.  3,600,288
  753.  3,690,288
  754.  3,780,288
  755.  3,870,288
  756.  3,960,288
  757.  3,158,384
  758.  3,248,384
  759.  3,338,384
  760.  3,428,384
  761.  3,510,384
  762.  3,600,384
  763.  3,690,384
  764.  3,960,384
  765.  3,1050,384
  766.  3,158,480
  767.  3,248,480
  768.  3,338,480
  769.  3,428,480
  770.  3,690,480
  771.  3,960,480
  772.  3,1050,480
  773.  3,158,576
  774.  3,248,576
  775.  3,338,576
  776.  3,428,576
  777.  3,690,576
  778.  3,780,576
  779.  3,870,576
  780.  3,960,576
  781.  3,1050,576
  782.  3,158,672
  783.  3,248,672
  784.  3,338,672
  785.  3,428,672
  786.  3,690,672
  787.  3,780,672
  788.  3,870,672
  789.  3,960,672
  790.  3,1050,672
  791.  3,248,768
  792.  3,338,768
  793.  3,428,768
  794.  3,690,768
  795.  3,780,768
  796.  3,870,768
  797.  3,338,864
  798.  3,428,864
  799.  3,510,864
  800.  3,600,864
  801.  3,690,864
  802.  3,780,864
  803.  **Foreground**
  804.  1,10,190
  805.  5,1182,288
  806.  **Baddies**
  807.  2,128,96,1024,96,128,96,1,8
  808.  2,128,96,1024,96,1024,96,0,8
  809. screen4
  810. comx%=1204
  811. comy%=192
  812. comd%=1
  813. manx%=0
  814. many%=96
  815. omanx%=manx%
  816. omany%=many%
  817. delay=1.97
  818. balls=1
  819. ballx%=(bx%*9)+10
  820. bally%=(by%*6)+18
  821. ballh=(by%*3)
  822. ballsp%=0
  823. baddies%=4
  824.     fg%=8
  825. levbon%=14
  826. bonuses%=14
  827. spike%=1
  828. switch1%=1
  829. switch2%=1
  830. mblocks%=0
  831. block%=0
  832. switches%=2
  833.  0,14,0,0,0,0,0,0,0,0
  834.  3,3,3,3,3,3,3,7,0,0
  835.  0,0,0,0,0,0,0,0,0,6
  836.  7,0,0,6,7,0,0,6,7,0
  837.  0,0,0,0,0,0,0,0,0,0
  838.  0,6,7,0,6,7,0,11,0,0
  839.  0,0,0,0,0,0,0,0,0,12
  840.  3,3,3,3,3,3,3,7,0,12
  841.  0,0,0,0,0,0,0,0,0,14
  842.  4,4,4,4,4,4,4,4,4,4
  843.  **Bonuses**
  844.  1,164,480
  845.  1,292,480
  846.  1,548,480
  847.  1,676,480
  848.  4,256,864
  849.  4,346,864
  850.  4,436,864
  851.  4,526,864
  852.  4,616,864
  853.  4,706,864
  854.  4,796,864
  855.  4,886,864
  856.  4,976,864
  857.  4,1187,384
  858.  **Foreground**
  859.  2,0,284
  860.  2,134,284
  861.  2,268,284
  862.  2,402,284
  863.  2,536,284
  864.  2,670,284
  865.  2,804,284
  866.  5,1182,190
  867.  **Baddies**
  868.  2,118,480,354,480,118,480,1,7
  869.  2,502,480,738,480,622,480,0,7
  870.  2,374,672,610,672,494,672,1,7
  871.  1,0,288,896,288,0,288,1,5
  872.  **Switches**
  873.  1,1182,766,1,9
  874.  1,30,862,9,2
  875. load_sprites(sprite_file$)
  876.  length%,area_ptr%
  877.  "OS_File",13,sprite_file$ 
  878.  ,,,,length%
  879.  area_ptr% length%+4
  880.  area_ptr%!0=length%+4
  881.  area_ptr%!4=16
  882.  "OS_SpriteOp",9+256,area_ptr%
  883.  "OS_SpriteOp",10+256,area_ptr%,sprite_file$
  884. =area_ptr%
  885.